package DynamicProgramming;

import java.io.PrintWriter;
import java.util.Scanner;

class Solver1017
{	int n;
	long[][] DynRs;
	
	public void Input()
	{	DynRs=new long[501][501];
		Scanner in=new Scanner(System.in);
		n=in.nextInt();
	}
	public void Solve()
	{	DynRs[1][0]=0;
		for (int i=1;i<=n;i++)
		{	for (int j=1;j<=n;j++)
			{	if (i==j)
					DynRs[i][j]=DynRs[i][j-1]+1;
				else if (j>i)
					DynRs[i][j]=DynRs[i][i];
				else
					DynRs[i][j]=DynRs[i][j-1]+DynRs[i-j][j-1];
			}
		}
	}
	public void Output()
	{	PrintWriter out=new PrintWriter(System.out);
		out.println(DynRs[n][n]-1);
		out.flush();
	}
	public void main()
	{	Input();
		Solve();
		Output();
	}
}
public class P1017
{	public static void main(String[] args)
	{	Solver1017 solver=new Solver1017();
		solver.main();
	}
}
